#include "common.h"

// 读取键盘输入的菜单选项，进行合法性校验
char readMenuSelection(int options)
{
    std::string str;

    while (true)
    {
        getline(cin, str);

        // 合法性校验
        if (str.size() != 1 || str[0] - '0' <= 0 || str[0] - '0' > options)
        {
            std::cout << "输入错误， 请重新选择: ";
        }
        else
        {
            break;
        }
    }

    return str[0];
}

char readQuitConfirm()
{
    std::string str;

    while (true)
    {
        getline(cin, str);

        // 合法性校验
        if (str.size() != 1 || toupper(str[0]) != 'Y' && toupper(str[0]) !='N')
        {
            std::cout << "输入错误， 请重新输入 (Y/N): ";
        }
        else
        {
            break;
        }
    }

    return toupper(str[0]);
}
